package aiku.numericalcontroloa.Model.Dto;

import aiku.numericalcontroloa.Model.Entity.ProductPart;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.Year;
import java.time.YearMonth;
import java.util.List;

/**
 * 
 * @TableName devices
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class DevicesDto extends PageSelect {

    private String id;

    /**
     * 零件名称
     */
    private String partName;

    /**
     * 型号：AA-01
     */
    private String model;

    /**
     * 库存数量
     */
    private Float count;

    /**
     * 成本费/采购单价
     */
    private BigDecimal cost;

    /**
     * 加工费
     */
    private BigDecimal process;

    /**
     * 人工费
     */
    private BigDecimal labour;

    /**
     * 打包费
     */
    private BigDecimal packing;

    /**
     * 运费
     */
    private BigDecimal freight;

    /**
     * 场地费
     */
    private BigDecimal siteFee;

    /**
     * 销售单价
     */
    private BigDecimal price;

    /**
     * 是否含税
     */
    private Integer isIncludeTax;

    /**
     * 图片
     */
    private String image;

    /**
     * 描述
     */
    private String devicesDescribe;

    /**
     * 备注
     */
    private String remark;

    /**
     * 0成品，1零件
     */
    private Integer isProduct;

    /**
     * 仓库类型
     */
    private String warehouseType;

    /**
     * 组成成品的零件列表
     */
    private List<ProductPart> productPartList;

    /**
     * 组装成品数量
     */
    private Float productCount;

    /**
     * 产品id列表
     * 用于计算组装成品
     */
    private List<String> devicesIdList;

    /**
     * 是否修改成品零件列表（0不修改，1修改）
     */
    private Integer isUpdatePartList;

    /*
     * 计量单位（
     * 0：按数量个（注：为了兼容之前的代码,NULL也为个）
     * 1：按长度米；
     * 2：按重量斤
     * ）
     */
    private Integer unit;

    private YearMonth yearMonth;

    // 排序参数
    private Integer select;
}